<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 引用vue3的源码 -->
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <div class="app"></div>
    
</body>
<script>
    const app = Vue.createApp({
        data(){
            return{
                message:'jspang.com',
                price:10,
                count:2,
            }
        },
        //计算属性
        computed:{
            //作为一个对象出现
            total(){
                return this.price * this.count
            },
        },
        methods: {
            clickItem(){
                this.message = this.message == 'jspang.com'?'技术胖':'jspang.com'
            },
            //也可以用方法的形式计算总和zhao
            gettotal(){
                return this.price*this.count
            }
        },
        //这两种方式的区别：
        //计算属性特性：当计算属性依赖的内容发生改变时，才会重新执行计算
        //          比如与tota无关的message改变，total还是从上一次的缓存中找值，不会重新计算
        //而用方法的话，只要有任何的值改变（页面重新渲染），无论与其方法有没有关系，都会重新计算
        template:`
            <h2>{{message}}</h2>
            <h2>{{total}}</h2>
            <h2>{{total}}</h2>
        `
    })
    app.mount('.app')
</script>

</html>